const app = getApp();

Page({
  /**
   * 页面的初始数据
   */
  data: {
    avatarUrl: "",
    nickName: "点击登录数速回收",
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.loadUserInfo();
  },

  /**
   * 加载用户信息（从缓存读取）
   */
  loadUserInfo() {
    const avatarUrl = wx.getStorageSync('avatarUrl');
    const nickName = wx.getStorageSync('nickName');

    if (avatarUrl && nickName) {
      this.setData({ avatarUrl, nickName });
      app.globalData.isLogin = true;
    } else {
      app.globalData.isLogin = false;
    }
    console.log("用户登录状态:", app.globalData.isLogin);
  },

  /**
   * 获取用户信息
   */
  getUserProfile() {
    if(app?.globalData?.isLogin){
      console.log('头像已经缓存')
      return 
    }
    wx.getUserProfile({
      desc: "登录数速回收", // 声明获取用户信息用途
      success: (res) => {
        const { nickName, avatarUrl } = res.userInfo;

        this.setData({ nickName, avatarUrl });
        app.globalData.isLogin = true;
        console.log("用户已登录:", app.globalData.isLogin);

        this.saveUserInfo(nickName, avatarUrl);
      },
      fail: (err) => {
        console.error("获取用户信息失败:", err);
        wx.showToast({
          title: "登录失败，请重试",
          icon: "none",
        });
      }
    });
  },

  /**
   * 存储用户信息
   */
  saveUserInfo(nickName, avatarUrl) {
    wx.setStorage({
      key: 'nickName',
      data: nickName,
      success: () => console.log('昵称缓存成功'),
      fail: () => console.error('昵称缓存失败'),
    });

    wx.setStorage({
      key: 'avatarUrl',
      data: avatarUrl,
      success: () => console.log('头像缓存成功'),
      fail: () => console.error('头像缓存失败'),
    });
  }
});